package com.acquisition.mapper;

import com.acquisition.entity.RealTimeData;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @author wang
 * @date 2023-04-15 20:35
 */
@Repository
public interface RealTimeDataMapper {

    /**
     * 保存对象
     *
     * @param realTimeData RealTimeData
     * @return 返回保存成功后主键id值
     */

    int save(RealTimeData realTimeData);

    /**
     * 根据id删除
     *
     * @param id id
     * @return 1-成功
     */
    int remove(int id);

    /**
     * 根据id更新
     *
     * @param realTimeData RealTimeData
     * @return 1-成功
     */
    int update(RealTimeData realTimeData);

    /**
     * 获取单个对象
     *
     * @param id id
     * @return RealTimeData
     */
    RealTimeData get(int id);

    /**
     * 条件查询
     *
     * @param param where条件
     * @return List<RealTimeDataPO>
     */
    List<RealTimeData> queryByExample(Map<String, Object> param);

    /**
     * 条件统计数量
     *
     * @param param where条件
     * @return count
     */
    int count(Map<String, Object> param);

    /**
     * 根据时间删除数据
     * 小于time的数据
     *
     * @param time yyyyMMddHHmmss
     * @return 1-成功
     */
    int remove(Long time);

    /**
     * 删除所有缓存的数据
     *
     * @return 1-成功
     */
    int removeAll();

    /**
     * 根据id更新上传状态
     *
     * @param serverNum 第几个服务器
     * @param id id
     * @return 1-成功
     */
    int updateFlag(int serverNum, int id);

    /**
     * 根据id更新流水号
     *
     * @param qn qn
     * @param id id
     * @return 1-成功
     */
    int updateQn(String qn, int id);

}
